package service;

import bean.dto.Login;
import bean.dto.UserRoomList;
import bean.pojo.User;
import bean.vo.UserVo;

import java.util.List;

/**
 * service
 * User: mcw
 * Date: 2024/12/16 下午6:58
 * motto:   春天（spring）没有虫子（bug)
 * Description:
 * Version: V1.0
 */
public interface UsersService {
    /**
     * 查询角色信息
     * @param userId
     * @return
     */
    UserVo infoRole(Integer userId);

    /**
     * 登录
     * @param login
     * @return
     */
    User login(Login login);

    /**
     *
     *查询用户的全部信息
     * @return
     */
    Long findByTotal(Integer userId, String userName, String userSex,Integer userAge, String idCardNumber, String userPhone, Integer isOwner , Integer roomId);

    List<UserRoomList> userFindBy(Integer page, Integer limit, Integer userId, String userName, String userSex, Integer userAge, String idCardNumber, String userPhone, Integer isOwner , Integer roomId);

    Boolean add(User user);

    Boolean deleteById(Integer userId);

    Boolean update(User user);

    /**
     * 查询用户是否存在
     * @param userName
     * @return
     */
    Boolean tfExistUserName(String userName);

    /**
     * 用户注册
     * @param user
     * @return
     */
    Integer registerUser(User user);

    /**
     * 根据id查找用户信息
     * @param userId
     * @return
     */
    User findUserById(Integer userId);

    /**
     * 修改用户基本信息
     * @param user
     * @param userId
     * @return
     */
    Integer updatePersonalInfo(User user, Integer userId);

    /**
     * 查询除了登录用户外是否还有相同的用户名
     * @param userName
     * @param userId
     * @return
     */
    Boolean tfExistName(String userName, Integer userId);

    boolean updateAvatar(Integer userId, String serverPath);

    User findFacePhoto(Integer userId);
}
